Skip to content

New collection base#180

Draft
rozyczko wants to merge 23 commits intodevelopfrom
new_collection_base
Draft

New collection base#180
rozyczko wants to merge 23 commits intodevelopfrom
new_collection_base

Conversation

@rozyczko
Copy link
Member

  • Add ModelCollection class extending ModelBase with MutableSequence
  • Provides list-like functionality with EasyScience features
  • Supports interface propagation to collection items (via InterfaceFactoryTemplate)
  • Export ModelCollection from base_classes module
  • Add comprehensive unit tests (102 tests)

andped10 and others added 18 commits September 18, 2024 15:18
Fix for setup-python@v5 expecting string now
- Add ModelCollection class extending ModelBase with MutableSequence
- Provides list-like functionality with EasyScience features
- Supports interface propagation to collection items (via InterfaceFactoryTemplate)
- Add NewBase to CollectionBase type checking
- Export ModelCollection from base_classes module
- Add comprehensive unit tests (102 tests)
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request does not contain a valid label. Please add one of the following labels: ['[scope] bug', '[scope] enhancement', '[scope] documentation', '[scope] significant', '[scope] maintenance']

@codecov
Copy link

codecov bot commented Dec 19, 2025

Codecov Report

❌ Patch coverage is 99.15254% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 81.77%. Comparing base (366e324) to head (7f3f45a).
⚠️ Report is 4 commits behind head on develop.

Files with missing lines Patch % Lines
src/easyscience/base_classes/model_collection.py 99.13% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #180      +/-   ##
===========================================
+ Coverage    80.80%   81.77%   +0.96%     
===========================================
  Files           52       53       +1     
  Lines         4261     4427     +166     
  Branches       739      790      +51     
===========================================
+ Hits          3443     3620     +177     
+ Misses         633      625       -8     
+ Partials       185      182       -3     
Flag Coverage Δ
unittests 81.77% <99.15%> (+0.96%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/easyscience/base_classes/__init__.py 100.00% <100.00%> (ø)
src/easyscience/base_classes/collection_base.py 91.26% <100.00%> (+0.06%) ⬆️
src/easyscience/base_classes/model_collection.py 99.13% <99.13%> (ø)

... and 1 file with indirect coverage changes

@rozyczko rozyczko added [scope] enhancement Adds/improves features (major.MINOR.patch) [priority] medium Normal/default priority [area] base classes Changes to or creation of new base classes labels Dec 19, 2025
Copilot AI added a commit that referenced this pull request Jan 5, 2026
Co-authored-by: rozyczko <8266281+rozyczko@users.noreply.github.com>
Copilot AI added a commit that referenced this pull request Jan 5, 2026
Co-authored-by: rozyczko <8266281+rozyczko@users.noreply.github.com>
Copy link
Contributor

@damskii9992 damskii9992 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First few comments, anything related to the soon-to-be legacy interface class should be removed, as we don't want this functionality anymore, secondly anything related to the global_object should be removed, we don't care about the map and edges anymore and want to remove it. The existence of the old base_collection is the only reason these features haven't been removed already . . .

@rozyczko
Copy link
Member Author

rozyczko commented Jan 8, 2026

First few comments, anything related to the soon-to-be legacy interface class should be removed, as we don't want this functionality anymore, secondly anything related to the global_object should be removed, we don't care about the map and edges anymore and want to remove it. The existence of the old base_collection is the only reason these features haven't been removed already . . .

These have been removed in the larger PR (#172) but you wanted that PR split into two separate PRs, so this one has ONLY the new base collection functionality. The other PR (#181) incorporates removal of the legacy interfaces

@rozyczko
Copy link
Member Author

rozyczko commented Feb 9, 2026

Now I need to redo this with EasyList as the base class for the collection base... let's see if there's anything left in this layer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[area] base classes Changes to or creation of new base classes [priority] medium Normal/default priority [scope] enhancement Adds/improves features (major.MINOR.patch)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants